/*
 * Mque.h
 *
 *  Created on: 2022年10月2日
 *      Author: wocao
 */
#include <iostream>
#include <unordered_map>
#include <list>
using namespace std;
#ifndef MQUE_H_
#define MQUE_H_

typedef struct rest_stru{
	int len;
	int del = 0;
	const void* buf;
}rest;

class Mque {
public:
	Mque();
	rest creatMque(const string& name);
	rest delMque(const string& name);
	rest insert(const string& name,long type,void *buf,int len);
	rest get(const string& name,long type);
	rest take(const string& name,long type);
	virtual ~Mque();
private:
	unordered_map<string,unordered_map<long,list<rest>*>*> aggmq;
};

#endif /* MQUE_H_ */
